type runtime.g
167 uses
runtime (current package)
cgo_sigaction.go#L44: var g *g
cgocall.go#L279: defer func(gp *g) {
chan.go#L650: func chanparkcommit(gp *g, chanLock unsafe.Pointer) bool {
debugcall.go#L155: mcall(func(gp *g) {
debugcall.go#L191: callingG *g
debugcall.go#L207: mcall(func(gp *g) {
heapdump.go#L342: func dumpgoroutine(gp *g) {
heapdump.go#L410: forEachG(func(gp *g) {
lock_futex.go#L241: func beforeIdle(int64, int64) (*g, bool) {
malloc.go#L958: var assistG *g
mfinal.go#L33: var fing *g // goroutine that runs finalizers
mfinal.go#L137: func wakefing() *g {
mfinal.go#L138: var res *g
mgc.go#L335: stackRoots []*g
mgc.go#L1207: gopark(func(g *g, nodep unsafe.Pointer) bool {
mgc.go#L1515: forEachG(func(gp *g) {
mgcmark.go#L133: forEachGRace(func(gp *g) {
mgcmark.go#L407: func gcAssistAlloc(gp *g) {
mgcmark.go#L524: func gcAssistAlloc1(gp *g, scanWork int64) {
mgcmark.go#L720: func scanstack(gp *g, gcw *gcWork) int64 {
mgcpacer.go#L823: func (c *gcControllerState) findRunnableGCWorker(_p_ *p) *g {
mgcscavenge.go#L169: g *g
mgcsweep.go#L37: g *g
mprof.go#L763: isOK := func(gp1 *g) bool {
mprof.go#L773: forEachGRace(func(gp1 *g) {
mprof.go#L798: forEachGRace(func(gp1 *g) {
mprof.go#L836: func saveg(pc, sp uintptr, gp *g, r *StackRecord) {
netpoll.go#L388: var rg, wg *g
netpoll.go#L413: var rg, wg *g
netpoll.go#L443: var rg, wg *g
netpoll.go#L475: func netpollblockcommit(gp *g, gpp unsafe.Pointer) bool {
netpoll.go#L486: func netpollgoready(gp *g, traceskip int) {
netpoll.go#L532: func netpollunblock(pd *pollDesc, mode int32, ioready bool) *g {
netpoll.go#L556: return (*g)(unsafe.Pointer(old))
netpoll.go#L574: var rg *g
netpoll.go#L583: var wg *g
panic.go#L591: func addOneOpenDeferFrame(gp *g, pc uintptr, sp unsafe.Pointer) {
panic.go#L701: func runOpenDeferFrame(gp *g, d *_defer) bool {
panic.go#L1012: func recovery(gp *g) {
panic.go#L1165: func dopanic_m(gp *g, pc, sp uintptr) bool {
panic.go#L1215: func canpanic(gp *g) bool {
panic.go#L1246: func shouldPushSigpanic(gp *g, pc, lr uintptr) bool {
preempt.go#L62: g *g
preempt.go#L105: func suspendG(gp *g) suspendGState {
preempt.go#L342: func wantAsyncPreempt(gp *g) bool {
preempt.go#L363: func isAsyncSafePoint(gp *g, pc, sp, lr uintptr) (bool, uintptr) {
proc.go#L115: g0 g
proc.go#L344: func gopark(unlockf func(*g, unsafe.Pointer) bool, lock unsafe.Pointer, reason waitReason, traceEv byte, traceskip int) {
proc.go#L370: func goready(gp *g, traceskip int) {
proc.go#L465: func badmcall(fn func(*g)) {
proc.go#L469: func badmcall2(fn func(*g)) {
proc.go#L513: allgs []*g
proc.go#L528: allgptr **g
proc.go#L531: func allgadd(gp *g) {
proc.go#L548: func allGsSnapshot() []*g {
proc.go#L560: func atomicAllG() (**g, uintptr) {
proc.go#L562: ptr := (**g)(atomic.Loadp(unsafe.Pointer(&allgptr)))
proc.go#L567: func atomicAllGIndex(ptr **g, i uintptr) *g {
proc.go#L568: return *(**g)(add(unsafe.Pointer(ptr), i*goarch.PtrSize))
proc.go#L574: func forEachG(fn func(gp *g)) {
proc.go#L586: func forEachGRace(fn func(gp *g)) {
proc.go#L751: func dumpgstatus(gp *g) {
proc.go#L841: func ready(gp *g, traceskip int, next bool) {
proc.go#L898: func readgstatus(gp *g) uint32 {
proc.go#L906: func casfrom_Gscanstatus(gp *g, oldval, newval uint32) {
proc.go#L934: func castogscanstatus(gp *g, oldval, newval uint32) bool {
proc.go#L959: func casgstatus(gp *g, oldval, newval uint32) {
proc.go#L1032: func casgcopystack(gp *g) uint32 {
proc.go#L1048: func casGToPreemptScan(gp *g, old, new uint32) {
proc.go#L1060: func casGFromPreempted(gp *g, old, new uint32) bool {
proc.go#L2436: func startlockedm(gp *g) {
proc.go#L2490: func execute(gp *g, inheritTime bool) {
proc.go#L2525: func findrunnable() (gp *g, inheritTime bool) {
proc.go#L2835: func stealWork(now int64) (gp *g, inheritTime bool, rnow, pollUntil int64, newWork bool) {
proc.go#L2947: func checkIdleGCNoP() (*p, *g) {
proc.go#L3060: var tail *g
proc.go#L3150: var gp *g
proc.go#L3308: func parkunlock_c(gp *g, lock unsafe.Pointer) bool {
proc.go#L3314: func park_m(gp *g) {
proc.go#L3339: func goschedImpl(gp *g) {
proc.go#L3355: func gosched_m(gp *g) {
proc.go#L3363: func goschedguarded_m(gp *g) {
proc.go#L3375: func gopreempt_m(gp *g) {
proc.go#L3385: func preemptPark(gp *g) {
proc.go#L3430: func goyield_m(gp *g) {
proc.go#L3453: func goexit0(gp *g) {
proc.go#L3902: func exitsyscall0(gp *g) {
proc.go#L4033: func malg(stacksize int32) *g {
proc.go#L4034: newg := new(g)
proc.go#L4070: func newproc1(fn *funcval, callergp *g, callerpc uintptr) *g {
proc.go#L4154: func saveAncestors(callergp *g) *[]ancestorInfo {
proc.go#L4187: func gfput(_p_ *p, gp *g) {
proc.go#L4230: func gfget(_p_ *p) *g {
proc.go#L4442: func sigprof(pc, sp, lr uintptr, gp *g, mp *m) {
proc.go#L4977: forEachG(func(gp *g) {
proc.go#L5392: forEachG(func(gp *g) {
proc.go#L5437: func schedEnabled(gp *g) bool {
proc.go#L5478: func globrunqput(gp *g) {
proc.go#L5489: func globrunqputhead(gp *g) {
proc.go#L5511: func globrunqget(_p_ *p, max int32) *g {
proc.go#L5679: func runqput(_p_ *p, gp *g, next bool) {
proc.go#L5714: func runqputslow(_p_ *p, gp *g, h, t uint32) bool {
proc.go#L5715: var batch [len(_p_.runq)/2 + 1]*g
proc.go#L5791: func runqget(_p_ *p) (gp *g, inheritTime bool) {
proc.go#L5912: func runqsteal(_p_, p2 *p, stealRunNextG bool) *g {
proc.go#L5944: func (q *gQueue) push(gp *g) {
proc.go#L5953: func (q *gQueue) pushBack(gp *g) {
proc.go#L5980: func (q *gQueue) pop() *g {
proc.go#L6010: func (l *gList) push(gp *g) {
proc.go#L6024: func (l *gList) pop() *g {
race0.go#L31: func raceacquireg(gp *g, addr unsafe.Pointer) { throw("race") }
race0.go#L34: func racereleaseg(gp *g, addr unsafe.Pointer) { throw("race") }
race0.go#L36: func racereleaseacquireg(gp *g, addr unsafe.Pointer) { throw("race") }
race0.go#L38: func racereleasemergeg(gp *g, addr unsafe.Pointer) { throw("race") }
runtime2.go#L263: func (gp guintptr) ptr() *g { return (*g)(unsafe.Pointer(gp)) }
runtime2.go#L266: func (gp *guintptr) set(g *g) { *gp = guintptr(unsafe.Pointer(g)) }
runtime2.go#L277: func setGNoWB(gp **g, new *g) {
runtime2.go#L351: g *g
runtime2.go#L405: type g struct {
runtime2.go#L514: g0 *g // goroutine with scheduling stack
runtime2.go#L521: gsignal *g // signal-handling g
runtime2.go#L526: curg *g // current running goroutine
runtime2.go#L559: waitunlockf func(*g, unsafe.Pointer) bool
runtime2.go#L902: g *g
select.go#L63: func selparkcommit(gp *g, _ unsafe.Pointer) bool {
select.go#L234: gp *g
signal_amd64.go#L49: func (c *sigctxt) preparePanic(sig uint32, gp *g) {
signal_unix.go#L339: func doSigPreempt(gp *g, ctxt *sigctxt) {
signal_unix.go#L396: func sigFetchG(c *sigctxt) *g {
signal_unix.go#L409: gp := *(**g)(unsafe.Pointer(s.base()))
signal_unix.go#L590: var testSigtrap func(info *siginfo, ctxt *sigctxt, gp *g) bool
signal_unix.go#L591: var testSigusr1 func(gp *g) bool
signal_unix.go#L604: func sighandler(sig uint32, info *siginfo, ctxt unsafe.Pointer, gp *g) {
stack.go#L739: func adjustctxt(gp *g, adjinfo *adjustinfo) {
stack.go#L755: func adjustdefers(gp *g, adjinfo *adjustinfo) {
stack.go#L770: func adjustpanics(gp *g, adjinfo *adjustinfo) {
stack.go#L776: func adjustsudogs(gp *g, adjinfo *adjustinfo) {
stack.go#L790: func findsghi(gp *g, stk stack) uintptr {
stack.go#L804: func syncadjustsudogs(gp *g, used uintptr, adjinfo *adjustinfo) uintptr {
stack.go#L855: func copystack(gp *g, newsize uintptr) {
stack.go#L1138: func isShrinkStackSafe(gp *g) bool {
stack.go#L1158: func shrinkstack(gp *g) {
stubs.go#L24: func getg() *g
stubs.go#L40: func mcall(fn func(*g))
stubs.go#L194: func setg(gg *g)
time.go#L201: func resetForSleep(gp *g, ut unsafe.Pointer) bool {
time.go#L243: goready(arg.(*g), 0)
trace.go#L112: lockOwner *g // to avoid deadlocks during recursive lock locks
trace.go#L226: forEachGRace(func(gp *g) {
trace.go#L464: func traceReader() *g {
trace.go#L1070: func traceGoCreate(newg *g, pc uintptr) {
trace.go#L1115: func traceGoUnpark(gp *g, skip int) {
traceback.go#L33: func gentraceback(pc0, sp0, lr0 uintptr, gp *g, skip int, pcbuf *uintptr, max int, callback func(*stkframe, unsafe.Pointer) bool, v unsafe.Pointer, flags uint) int {
traceback.go#L758: func printcreatedby(gp *g) {
traceback.go#L781: func traceback(pc, sp, lr uintptr, gp *g) {
traceback.go#L793: func tracebacktrap(pc, sp, lr uintptr, gp *g) {
traceback.go#L802: func traceback1(pc, sp, lr uintptr, gp *g, flags uint) {
traceback.go#L908: func gcallers(gp *g, skip int, pcbuf []uintptr) int {
traceback.go#L914: func showframe(f funcInfo, gp *g, firstFrame bool, funcID, childID funcID) bool {
traceback.go#L982: func goroutineheader(gp *g) {
traceback.go#L1019: func tracebackothers(me *g) {
traceback.go#L1037: forEachGRace(func(gp *g) {
traceback.go#L1111: func isSystemGoroutine(gp *g, fixed bool) bool {